package yourapp.expense.util;

public class InputValidator {

  /**
   * 验证输入的费用是否为有效的数字
   * @param amountStr 用户输入的费用字符串
   * @return 如果是有效的数字返回 true，否则返回 false
   */
  public boolean validateAmount(String amountStr) {
    try {
      // 尝试将字符串转换为 double，如果成功则认为是有效数字
      Double.parseDouble(amountStr);
      return true;
    } catch (NumberFormatException e) {
      // 如果转换失败，说明不是有效数字
      System.err.println("费用必须是有效的数字");
      return false;
    }
  }

  /**
   * 验证输入的日期是否为有效的日期格式（简单验证，只检查格式是否为 yyyy-MM-dd）
   * @param dateStr 用户输入的日期字符串
   * @return 如果格式看起来像 yyyy-MM-dd 返回 true，否则返回 false
   */
  public boolean validateDate(String dateStr) {
    // 简单验证：检查字符串长度是否为 10，且第 5 和第 8 字符是 '-'
    if (dateStr != null && dateStr.length() == 10 && dateStr.charAt(4) == '-' && dateStr.charAt(7) == '-') {
      return true;
    } else {
      System.err.println("日期格式不正确，请使用 yyyy-MM-dd 格式，例如：2024-10-01");
      return false;
    }
  }
}